﻿Imports System.Data.Odbc
Imports System.Data.OleDb

Public Class NhanVienDAO
    Public Function Insert(ByVal tmp As NhanVienDTO) As Integer
        Dim cn As OleDbConnection = DataProvider.ConnectionData()
        Dim str As String = "insert into NhanVien (HoTen,QueQuan,MaChucVu,NgaySinh,CMND) values (@HoTen,@QueQuan,@MaChucVu,@NgaySinh,@CMND)"
        Dim cmd As OleDbCommand = New OleDbCommand(str, cn)
        Dim para1, para2, para3, para4, para5 As OleDbParameter
        para1 = New OleDbParameter("@HoTen", tmp.HoTen)
        cmd.Parameters.Add(para1)
        para2 = New OleDbParameter("@QueQuan", tmp.QueQuan)
        cmd.Parameters.Add(para2)
        para3 = New OleDbParameter("@MaChucVu", tmp.ChucVu)
        cmd.Parameters.Add(para3)
        para4 = New OleDbParameter("@NgaySinh", tmp.NgaySinh)
        cmd.Parameters.Add(para4)
        para5 = New OleDbParameter("@CMND", tmp.CMND)
        cmd.Parameters.Add(para5)
        Dim result As Integer = cmd.ExecuteNonQuery()
        cn.Close()
        Return result
    End Function

    Public Function Update(ByVal tmp As NhanVienDTO) As Integer
        Dim cn As OleDbConnection = DataProvider.ConnectionData()
        Dim str As String = "Update NhanVien set HoTen=@HoTen,QueQuan=@QueQuan,MaChucVu=@MaChucVu,NgaySinh=@NgaySinh,CMND=@CMND where MaNhanVien=@MaNhanVien "
        Dim cmd As OleDbCommand = New OleDbCommand(str, cn)
        Dim para6, para1, para2, para3, para4, para5 As OleDbParameter

        para1 = New OleDbParameter("@HoTen", tmp.HoTen)
        cmd.Parameters.Add(para1)
        para2 = New OleDbParameter("@QueQuan", tmp.QueQuan)
        cmd.Parameters.Add(para2)
        para3 = New OleDbParameter("@MaChucVu", tmp.ChucVu)
        cmd.Parameters.Add(para3)
        para4 = New OleDbParameter("@NgaySinh", tmp.NgaySinh)
        cmd.Parameters.Add(para4)
        para5 = New OleDbParameter("@CMND", tmp.CMND)
        cmd.Parameters.Add(para5)
        para6 = New OleDbParameter("@MaNhanVien", tmp.MaNhanVien)
        cmd.Parameters.Add(para6)
        Dim result As Integer = cmd.ExecuteNonQuery()
        cn.Close()
        Return result
    End Function

    Public Function Delete(ByVal tmp As NhanVienDTO) As Integer
        Dim cn As OleDbConnection = DataProvider.ConnectionData()
        Dim str As String = "delete from NhanVien where MaNhanVien=@MaNhanVien"
        Dim cmd As OleDbCommand = New OleDbCommand(str, cn)
        Dim para1 As OleDbParameter
        para1 = New OleDbParameter("@MaNhanVen", tmp.MaNhanVien)
        cmd.Parameters.Add(para1)
        Dim result As Integer = cmd.ExecuteNonQuery()
        cn.Close()
        Return result
    End Function

    Public Function GetTable(ByVal t As String) As DataTable
        Dim dt As DataTable = New DataTable()
        Dim cn As OleDbConnection = DataProvider.ConnectionData()
        Dim str As String = t
        Dim da As OleDbDataAdapter = New OleDbDataAdapter(str, cn)
        da.Fill(dt)
        cn.Close()
        Return dt
    End Function

    Public Function GetValue(ByVal t As String) As String
        Dim cn As OleDbConnection = DataProvider.ConnectionData()
        Dim str As String = t
        Dim cmd As OleDbCommand = New OleDbCommand(str, cn)
        Dim kq As String = cmd.ExecuteScalar()
        Return kq
    End Function

    Public Function DKNV_Insert(ByVal tmp As NhanVienDTO) As Integer
        Dim cn As OleDbConnection = DataProvider.ConnectionData()
        Dim str As String = "insert into NhanVien (HoTen,QueQuan,NgaySinh,CMND,ID,Pass) values (@HoTen,@QueQuan,@NgaySinh,@CMND,@ID,@pass)"
        Dim cmd As OleDbCommand = New OleDbCommand(str, cn)
        Dim para1, para2, para4, para5, para6, para7 As OleDbParameter
        para1 = New OleDbParameter("@HoTen", tmp.HoTen)
        cmd.Parameters.Add(para1)
        para2 = New OleDbParameter("@QueQuan", tmp.QueQuan)
        cmd.Parameters.Add(para2)
        para4 = New OleDbParameter("@NgaySinh", tmp.NgaySinh)
        cmd.Parameters.Add(para4)
        para5 = New OleDbParameter("@CMND", tmp.CMND)
        cmd.Parameters.Add(para5)
        para6 = New OleDbParameter("@ID", tmp.ID)
        cmd.Parameters.Add(para6)
        para7 = New OleDbParameter("@Pass", tmp.Pass)
        cmd.Parameters.Add(para7)
        Dim result As Integer = cmd.ExecuteNonQuery()
        cn.Close()
        Return result
    End Function
End Class
